<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <link href="../../style.css" rel="stylesheet" type="text/css">
    <link rel="icon" href="../../images/PETSc_RGB-logo.png" type="image/png" sizes="16x16">
    <title>PETSc: Documentation: Changes: 2.1.0</title>
  </head>
  <body>

    <div id="logo">
      <h1>PETSc</h1>
    </div>

    <div id="header">
      <h1><!--begin-->Documentation: Changes: 2.1.0<!--end--></h1>
    </div>

    <hr>

    <div id="sidebar">
      <ul>
        <li><a href="../../index.html">Home</a></li>
        <li><a href="../../download/index.html">Download</a></li>
        <li><a href="../../features/index.html">Features</a></li>
        <li>
          <a href="../../documentation/index.html">Documentation</a>
          <ul>
            <li><a href="../index.html">Manual pages and Users Manual</a></li>
            <li><a href="../referencing.html">Referencing PETSc</a></li>
            <li><a href="../tutorials/index.html">Tutorials</a></li>
            <li><a href="../installation.html">Installation</a></li>
            <li><a href="../saws.html">SAWs</a></li>
            <li>
              <a href="index.html">Changes</a>
              <ul>
                <li><a href="dev.html">dev</a></li>
                <li><a href="313.html">3.13</a></li>
                <li><a href="312.html">3.12</a></li>
                <li><a href="311.html">3.11</a></li>
                <li><a href="310.html">3.10</a></li>
                <li><a href="39.html">3.9</a></li>
                <li><a href="38.html">3.8</a></li>
                <li><a href="37.html">3.7</a></li>
                <li><a href="36.html">3.6</a></li>
                <li><a href="35.html">3.5</a></li>
                <li><a href="34.html">3.4</a></li>
                <li><a href="33.html">3.3</a></li>
                <li><a href="32.html">3.2</a></li>
                <li><a href="31.html">3.1</a></li>
                <li><a href="300.html">3.0.0</a></li>
                <li><a href="233.html">2.3.3</a></li>
                <li><a href="232.html">2.3.2</a></li>
                <li><a href="231.html">2.3.1</a></li>
                <li><a href="230.html">2.3.0</a></li>
                <li><a href="221.html">2.2.1</a></li>
                <li><a href="220.html">2.2.0</a></li>
                <li><a href="216.html">2.1.6</a></li>
                <li><a href="215.html">2.1.5</a></li>
                <li><a href="213.html">2.1.3</a></li>
                <li><a href="212.html">2.1.2</a></li>
                <li><a href="211.html">2.1.1</a></li>
                <li><span class="current">2.1.0</span></li>
                <li><a href="2029.html">2.0.29</a></li>
                <li><a href="2028.html">2.0.28</a></li>
                <li><a href="2024.html">2.0.24</a></li>
                <li><a href="2022.html">2.0.22</a></li>
                <li><a href="2018-21.html">2.0.18-21</a></li>
                <li><a href="2017.html">2.0.17</a></li>
                <li><a href="2016.html">2.0.16</a></li>
                <li><a href="2015.html">2.0.15</a></li>
              </ul>
            </li>
            <li><a href="../bugreporting.html">Bug Reporting</a></li>
            <li><a href="../codemanagement.html">Code Management</a></li>
            <li><a href="../faq.html">FAQ</a></li>
            <li><a href="../license.html">License</a></li>
            <li><a href="../linearsolvertable.html">Linear Solver Table</a></li>
            <li><a href="../nonlinearsolvertable.html">Nonlinear Solver Table</a></li>
	    <li><a href="../taosolvertable.html">TAO Solver Table</a></li>
          </ul>
        </li>
        <li><a href="../../publications/index.html">Applications/Publications</a></li>
        <li><a href="../../miscellaneous/index.html">Miscellaneous</a></li>
        <li><a href="../../miscellaneous/external.html">External Software</a></li>
        <li><a href="https://docs.petsc.org/en/latest/developers/index.html">Developers Site</a></li>
      </ul>
    </div>

    <!--begin-->

    <style type="text/css">
      h2 {
        color: red;
      }

      h4 {
        font-weight: bold;
        text-decoration: underline;
      }
    </style>

    <div id="main">

      <div align="center">
        <h2><a name="CHANGES">CHANGES</a> in PETSc 2.1.0 (see new <a href="#Features">features</a>)</h2>
      </div>

      <h4>General:</h4>

      <ul>
        <li>
          Simpler interface for structured grids, see
          src/snes/examples/tutorials/ex5.c
        </li>

        <li>
          &quot;System routines&quot; including PLog..., Options..., Viewer...,
          Draw...., FList...,OList... now all begin with the string Petsc. For
          example, PetscOptionsGetInt() and PetscLogBegin().
        </li>

        <li>
          The calling sequence for PetscMalloc() was changed to return and error
          code and deliver the pointer as a new final argument. Due to this
          change, the macros CHKPTRA() and CHKPTRQ() were dropped.
        </li>
      </ul>

      <h4>AO (Application Orderings):</h4>
      <h4>TS (Timestepping Solvers):</h4>
      <h4>SNES (Nonlinear Solvers):</h4>
      <h4>SLES (Linear Solvers):</h4>
      <h4>KSP (Krylov Subspace Methods):</h4>
      <h4>PC (Preconditioners):</h4>
      <h4>MAT (Matrices):</h4>

      <ul>
        <li>
          When using MatCreate(), you must follow with a MatSetType() or
          MatSetFromOptions() before using the matrix.
        </li>

        <li>
          Changed <code>int
            MatShellSetOperation(Mat,MatOperation,void*);</code> to <code>int
            MatShellSetOperation(Mat,MatOperation,void(*)());</code>
        </li>

        <li>
          Changed <code>int
            MatShellGetOperation(Mat,MatOperation,void**);</code> to <code>int
            MatShellGetOperation(Mat,MatOperation,void(**)());</code>
        </li>

        <li>Changed IncompleteCholesky to ICC</li>
      </ul>

      <h4>DA (Distributed Arrays):</h4>

      <ul>
        <li>Changed the DAMG routines to DMMG routines.</li>

        <li>
          DAGetColoring() now has new second argument that takes either
          IS_COLORING_GLOBAL or IS_COLOR_GLOBAL and a new third argument that
          takes the matrix type of either MATMPIAIJ or MATMPIBAIJ.
        </li>
      </ul>

      <h4>VEC (Vectors):</h4>

      <ul>
        <li>
          Changed <code>int VecSetOperation(Vec,VecOperation,void*);</code> to
          <code>int VecSetOperation(Vec,VecOperation,void(*)());</code>
        </li>
      </ul>

      <h4>IS (Index Sets):</h4>
      <h4>General:</h4>
      <h4>Draw (Graphics):</h4>
      <h4>Viewers:</h4>
      <h4>System:</h4>
      <h4>Error Handling:</h4>

      <ul>
        <li>
          CHKERRA() is now obselete; use CHKERRQ() instead. Changed the calling
          sequence of SETERRQ() to eliminate the second input parameter.
        </li>
      </ul>

      <h4>Event Logging:</h4>
      <h4>Fortran Interface:</h4>

      <div align="center">
        <h2>New <a name="Features">features</a> in PETSc 2.1.0 (see <a href="#CHANGES">changes</a> above)</h2>
      </div>

      <h4>General:</h4>

      <ul>
        <li>Simpler interface for structured grids, see src/snes/examples/tutorials/ex5.c</li>

        <li>
          Complete infrastructure for parallel multigrid for linear and
          nonlinear problems on structured grids. See
          src/snes/examples/tutorials/ex19.c
        </li>

        <li>Added manual pages for PETSc objects, enums etc.</li>

        <li>
          Added html version of all source code and examples, accessible from
          docs/index.html and the manual pages.
        </li>
      </ul>

      <h4>AO (Application Orderings):</h4>
      <h4>TS (Timestepping Solvers):</h4>
      <h4>SNES (Nonlinear Solvers):</h4>
      <h4>SLES (Linear Solvers):</h4>
      <h4>KSP (Krylov Subspace Methods):</h4>

      <ul>
        <li>
          Added support for &quot;diagonal scaling&quot; of preconditioned
          system as required by most ODE integrators via
          PCDiagonalScaleSet().
        </li>
      </ul>

      <h4>PC (Preconditioners):</h4>
      <h4>MAT (Matrices):</h4>

      <ul>
        <li>
          Added the Henry Tufo/Paul Fischer libtfs scalable parallel direct
          solver for MPIAIJ matrices.
        </li>

        <li>Added routine MatFDColoringSetRecompute().</li>
      </ul>

      <h4>DA (Distributed Arrays):</h4>

      <ul>
        <li>
          Added DAVecGetArray() to access the multidimensional arrays directly in
          the global parallel indexing. See src/snes/examples/tutorials/ex5.c and
          ex19.c
        </li>

        <li>
          Add DAGetLocalVector()/DARestoreLocalVector() for inexpensive access
          to local work vectors.
        </li>
      </ul>

      <h4>VEC (Vectors):</h4>

      <ul>
        <li>Added DMComposite routines to help with PDE optimization and multicomponent PDEs.</li>
      </ul>

      <h4>IS (Index Sets):</h4>
      <h4>PF:</h4>
      <h4>Draw (Graphics):</h4>
      <h4>Viewers:</h4>
      <h4>System:</h4>
      <h4>Error Handling:</h4>
      <h4>Event Logging:</h4>
      <h4>Fortran Interface:</h4>

    </div>

    <!--end-->

    <hr>

  </body>
</html>
